package com.atguigu.yygh.order.service;

import com.atguigu.yygh.model.order.OrderInfo;
import com.atguigu.yygh.vo.order.OrderCountQueryVo;
import com.atguigu.yygh.vo.order.OrderQueryVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author feifie
 * @since 2023-05-20
 */
public interface OrderInfoService extends IService<OrderInfo> {

    Long submitOrder(String scheduleId, Long patientId);
    //只查询当前登录用户的订单或者历史订单
    Page<OrderInfo> getOrderInfoPage(Integer pageNum, Integer pageSize, OrderQueryVo orderQueryVo);
    //查看订单详情
    OrderInfo detail(Long orderId);


    /**
     * @description:取消预约
     * @author :又菜又爱玩的→速趴塞亚锦←
     * @create :2023/5/20
     * @param  :1.8
     */
    void cancelOrder(Long orderId);


    //预约就医提醒监听器
    void patientRemind();

    //预约统计分析
    Map<String, Object> statistics(OrderCountQueryVo orderCountQueryVo);
}
